<?php
class GuildCompetitionRecordVo extends SzAbstractMySqlVo
{

    private $guildId;
    private $groupId;
    private $quality;
    private $initializationData;
    private $settlement;
    private $lastPoint;
    private $rank;
    private $number;
    private $isFirst;
    private $createTime;
    private $updateTime;

    /**
     * Initialize GuildCompetitionRecordVo.
     *
     * @param $guildId
     * @param $groupId
     * @param $quality
     * @param $initializationData
     * @param $settlement
     * @param $lastPoint
     * @param $rank
     * @param $number
     * @param $isFirst
     * @param $createTime
     * @param $updateTime
     * @param boolean $isInsert default false, means for now this vo is initialized not for insert process
     * @return GuildCompetitionRecordVo
     */
    public function __construct($guildId, $groupId, $quality, $initializationData, $settlement, $lastPoint, $rank, $number, $isFirst, $createTime, $updateTime, $isInsert = false) {
        $this->guildId = $guildId;
        $this->groupId = $groupId;
        $this->quality = $quality;
        $this->initializationData = $initializationData;
        $this->settlement = $settlement;
        $this->lastPoint = $lastPoint;
        $this->rank = $rank;
        $this->number = $number;
        $this->isFirst = $isFirst;
        $this->createTime = $createTime;
        $this->updateTime = $updateTime;

        $this->isInsert = $isInsert;
        $this->voClassName = 'GuildCompetitionRecordVo';
        $this->ormName = 'GuildCompetitionRecord';
    }

    /**
     * @see SzAbstractVo::toArray
     */
    public function toArray($needEncode = false)
    {
        return array(
            'guildId' => $this->getGuildId(),
            'groupId' => $this->getGroupId(),
            'quality' => $this->getQuality(),
            'initializationData' => $this->getInitializationData(),
            'settlement' => $this->getSettlement(),
            'lastPoint' => $this->getLastPoint(),
            'rank' => $this->getRank(),
            'number' => $this->getNumber(),
            'isFirst' => $this->getIsFirst(),
            'createTime' => $this->getCreateTime(),
            'updateTime' => $this->getUpdateTime(),
        );
    }

    /**
     * @see SzAbstractVo::toEntireArray
     */
    public function toEntireArray($needEncode = false)
    {
        return array(
            'guildId' => $this->getGuildId(),
            'groupId' => $this->getGroupId(),
            'quality' => $this->getQuality(),
            'initializationData' => $this->getInitializationData(),
            'settlement' => $this->getSettlement(),
            'lastPoint' => $this->getLastPoint(),
            'rank' => $this->getRank(),
            'number' => $this->getNumber(),
            'isFirst' => $this->getIsFirst(),
            'createTime' => $this->getCreateTime(),
            'updateTime' => $this->getUpdateTime(),
        );
    }

    /**
     * @see SzAbstractVo::toPureArray
     */
    public function toPureArray()
    {
        return array(
            $this->getGuildId(),
            $this->getGroupId(),
            $this->getQuality(),
            $this->getInitializationData(),
            $this->getSettlement(),
            $this->getLastPoint(),
            $this->getRank(),
            $this->getNumber(),
            $this->getIsFirst(),
            $this->getCreateTime(),
            $this->getUpdateTime(),
        );
    }

    public function getGuildId()
    {
        return $this->guildId;
    }

    public function setGuildId($val)
    {
        $this->saveColumnStatus(0, $this->guildId);
        $this->guildId = $val;
    }

    public function getGroupId()
    {
        return $this->groupId;
    }

    public function setGroupId($val)
    {
        $this->saveColumnStatus(1, $this->groupId);
        $this->groupId = $val;
    }

    public function getQuality()
    {
        return $this->quality;
    }

    public function setQuality($val)
    {
        $this->saveColumnStatus(2, $this->quality);
        $this->quality = $val;
    }

    public function getInitializationData()
    {
        return $this->initializationData;
    }

    public function setInitializationData($val)
    {
        $this->saveColumnStatus(3, $this->initializationData);
        $this->initializationData = $val;
    }

    public function getSettlement()
    {
        return $this->settlement;
    }

    public function setSettlement($val)
    {
        $this->saveColumnStatus(4, $this->settlement);
        $this->settlement = $val;
    }

    public function getLastPoint()
    {
        return $this->lastPoint;
    }

    public function setLastPoint($val)
    {
        $this->saveColumnStatus(5, $this->lastPoint);
        $this->lastPoint = $val;
    }

    public function getRank()
    {
        return $this->rank;
    }

    public function setRank($val)
    {
        $this->saveColumnStatus(6, $this->rank);
        $this->rank = $val;
    }

    public function getNumber()
    {
        return $this->number;
    }

    public function setNumber($val)
    {
        $this->saveColumnStatus(7, $this->number);
        $this->number = $val;
    }

    public function getIsFirst()
    {
        return $this->isFirst;
    }

    public function setIsFirst($val)
    {
        $this->saveColumnStatus(8, $this->isFirst);
        $this->isFirst = $val;
    }

    public function getCreateTime()
    {
        return $this->createTime;
    }

    public function setCreateTime($val)
    {
        $this->saveColumnStatus(9, $this->createTime);
        $this->createTime = $val;
    }

    public function getUpdateTime()
    {
        return $this->updateTime;
    }

    public function setUpdateTime($val)
    {
        $this->saveColumnStatus(10, $this->updateTime);
        $this->updateTime = $val;
    }

}